package com.ruoyi.framework.config;

import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

/**
 * @author lijianguo
 * @Date 26/08/2024 11:31 pm
 * 请输入类的简介
 **/
public class CustomIdGenerator implements IdentifierGenerator {

    @Override
    public Long nextId(Object entity) {
        //可以将当前传入的class全类名来作为bizKey,或者提取参数来生成bizKey进行分布式Id调用生成.
        // 获取当前日期并格式化为 yyyyMMdd
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        String today = dateFormat.format(new Date());

        // 生成10位随机数
        Random random = new Random();
        StringBuilder randomDigits = new StringBuilder();
        for (int i = 0; i < 10; i++) {
            randomDigits.append(random.nextInt(10)); // 生成0到9的随机数
        }
        // 拼接日期和随机数
        return Long.parseLong(today + randomDigits);
    }

}

